from Products.Five import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

from zope.app.component.hooks import getSite
from Products.CMFCore.utils import getToolByName

class frontPageView(BrowserView):
    """Vista principal de la pagina"""
    template = ViewPageTemplateFile('templates/frontpage.html')

    def noticias(self):
        """retorna las ultimas 3 noticias"""
        catalog = getToolByName(self.context,'portal_catalog')
        sitio = getSite()
        portalId = sitio.getId()
        path = '/' + portalId + '/noticias'
        noticias = catalog.searchResults(path={'query':path,'depth':1},portal_type='News Item',sort_limit=3,
                                         sort_on='modified',sort_order='reverse')
        return noticias[0:3]

    def proyectos(self):
        """retorna los 3 ultimos proyectos"""
        catalog = getToolByName(self.context,'portal_catalog')
        sitio = getSite()
        portalId = sitio.getId()
        path = '/' + portalId + '/planes-programas-y-proyectos/proyectos'
        proyectos = catalog.searchResults(path={'query':path,'depth':1},portal_type='Proyecto',sort_on='Date',
                                          sort_limit=3, sort_order='reverse')
        return proyectos[0:3]

    def informes(self):
        """retorna los ultimos tres informes"""
        catalog = getToolByName(self.context,'portal_catalog')
        sitio = getSite()
        portalId = sitio.getId()
        path = '/'+portalId+'/rendicion-de-cuentas'
        informes = catalog.searchResults(path={'query':path,'depth':2},portal_type=('Pagina2','Document','File'),sort_on='Date',
                                            sort_limit=3)

        return informes[0:3]

    def toos(self):
        self.catalog = getToolByName(self.context,'portal_catalog')
        sitio = getSite()
        self.site = sitio.getId()
